//设备:共阴极数码管
#ifndef DASYS_DEVICE_NIXIETUBE_H
#define DASYS_DEVICE_NIXIETUBE_H

#include "Common/TypeDef.h"

//初始化
void NixieInit();

//显示一次,如需动态显示需要讲该子程序加到主循环中
void NixieShow();

//设置数码管上的字符,只能是数字
//参数 c: 为要显示的数字的ASCII
//参数 pos:第几位,范围0-7
void NixieSetChar(char c,uint8 pos);

//设置数码管上的字符串,只能是数字
//参数 str: 要显示的字符串,最多8个字符,不用\0结尾
//参数 count: 字符串的大小,范围1-8
//参数 pos: 在第几位开始显示
void NixieSetString(char str[],uint8 count,uint8 pos);

//设置数码管上的点
//参数 pos:第几位的点,范围0-7
void NixieSetPoint(uint8 pos);

//设置数码管上的多个点
//参数 arr: 要显示的点的位置,最多8个,范围0-7
//参数 count: 数组的大小,范围1-8
void NixieSetPointArray(uint8 arr[],uint8 count);

//清除数码管上的字符和点
//参数 pos: 位置,范围0-7
void NixieClear(uint8 pos);

//清除数码管上的所有字符和点
void NixieClearAll();

//清除数码管上的字符和点
//参数 pos,位置的数组,范围0-7
//参数 count ,数组大小,范围1-8
void NixieClearArray(uint8 pos[],uint8 count);

//设置数码管上的数字,其余的清空
void NixieSetNumber(uint16 number);

#endif